home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio 2000
/
Ham Radio 2000.iso
/
ham2000
/
morse
/
morse153
/
morse.doc
< prev
next >
Wrap
Text File
|
1993-05-27
|
48KB
|
1,063 lines
MORSE CODE TRAINER RELEASE 1.51 DOCUMENTATION
---------------------------------------------
---------------------------------------------
AUTHORSHIP AND COPYRIGHT
Authorship of the program and kudos are as follows:
Jim Raehl N7KXI wrote the menus and most of the functions.
Keith McQueen N7HMF wrote the character sounding and timing routines.
Mark Gayman (no call yet) wrote a high resolution timing routine.
A $5 contribution is most welcome and encourages further development.
Suggestions for improvement are welcome. Call Jim at (801) 225-9630
evenings or weekends. Send written suggestions to the following address
Jim Raehl N7KXI
336 North 750 East
Orem, Utah 84057
or send packet radio messages to N7KXI@N7KXI.UT.USA.NA. Internet address
is jraehl@wicat.com.
Kudos to the following for their suggestions:
Gordon Smith K7HFV Steve Martin NR7P Steve Whitehead NV7V
Vern Cole KF7XM Jerry Bennion WR7N Craig Teerlink KF7OY
This program is copyrighted (c) 1993 by Jim Raehl. All rights are reserved.
Commercial exploitation without permission is severely frowned on.
Features of this program include:
1. Four kinds of learning sequences (or create your own).
2. A wide variety of pseudo-random practice character environments.
3. 21 program/sending characteristics may be set and saved.
4. Many QSO/test databases, each with its own sending characteristics.
5. Immense numbers of "randomized" QSO/tests.
6. Accurate character and spacing speed on most IBM PC compatibles.
7. User may type each character at the computer as it is sounded.
8. Create your own practice tapes, with reference printouts.
HAM RADIO EXAMS AND REQUIREMENTS
Ham radio exams are given regularly in most parts of the country. The code
part of the exam need not be passed at the same session as the written
part. However, both code and written exams must be passed for the
intended class of license. A Certificate of Successful Completion of Exam
(CSCE) will be issued for passed exam portions.
The requirements for the various license classes are
1. Novice -- 5 words per minute (wpm) Morse and Novice written exam
2. Technician -- Novice written exam plus Technician written exam
(Technician gives all amateur privileges in the VHF and UHF bands)
3. General -- Technician requirements plus 13 wpm Morse and General written
(General allows talking on nearly any HF amateur band segment)
4. Advanced -- General requirements plus Advanced written exam
5. Extra -- Advanced requirements plus 20 wpm Morse and Extra written exam
This program was written to assist with the above Morse code requirements.
A person learning the Morse code for the first time will want to use the
"Learn the Characters" function. Then more advanced main menu functions
may be used. Practice should be 15 minutes in the morning and another 15
minutes in the evening. Nearly anyone can learn the Morse code in about
a month (usually less) with this schedule.
MAIN MENU FUNCTIONS
-------------------
-------------------
A. LEARN THE CHARACTERS
-----------------------
This function is used when first learning the Morse code. The characters
are sounded in a progressive order. After the new character has been
sounded several times, words using that character are sent. These contain
characters from the set learned so far. The user may also learn small groups
of characters sent in random order. Several group ordering strategies are
provided.
The learning functions are:
A-E) Learn Morse characters and words in Morse--
The user specifies the point in a progressive sequence to continue
learning the Morse characters. Thus, the user may continue where
he/she previously left off or back up to a specific character. A
function key may also be typed to back up or move forward to a group
of characters. Learning then resumes at the start of that group.
A default learning sequence may be specifed, or any of four user
modifiable sequences. The sequences are specified in files LEARN1.DAT
through LEARN4.DAT.
F) Practice characters grouped in learning order--
This provides random character generation from small groups of
characters. Sending small groups is initially easier than trying to
learn all the characters at once. The grouping in this selection is
the same as when first learning the characters. The selection may
be used as drill practice before moving on to new characters.
G) Practice characters grouped alphabetically--
Same as B above. The grouping is in alphabetic and numeric order of
the characters. The selection is more difficult than in B, but not
as difficult as pure random ordering of groups.
H) Practice characters grouped randomly--
Same as B above. The characters are randomly ordered in the groups.
This is the most difficult character ordering within the learning
function. When this practice drill is mastered, the user should move
on to fortunes and then psuedo-random QSO's. The most difficult
practice will be random callsigns.
B. TYPE CHARACTERS
------------------
This function may be used when first learning the Morse characters, to find
out the sound of a character or to distinguish between the sounds of different
characters.
Requests any Morse letter, digit, or punctuation. The character is then sent
(sounded). More characters may be sent, until ESC is typed.
Prosigns are typed with a reverse slash \ character before them. Thus the AR
prosign is typed as "\AR".
You cannot verify the character by typing it after it is sent, in this
function (see the change parameters menu).
C. TYPE CHARACTER STRINGS
-------------------------
This function may be used when first learning the Morse characters, to send
sample text, such as "THIS IS MORSE CODE".
Requests any combination of Morse letters, digits, or punctuation, followed
by the RETURN key. The character string is then sent (sounded). More
character strings may be sent, until ESC is typed. Typing only the RETURN
key will recall the string most recently entered, and sound it again.
You cannot verify the character by typing it after it is sent, in this
function (see the change parameters menu).
D. SEND RANDOM LETTERS
----------------------
Randomly sends letters of the alphabet A-Z. The characters may be grouped
in a user-specified group size (see the change parameters menu), after which
a space character will be sent.
E. SEND RANDOM DIGITS
---------------------
Randomly sends digits 0-9. The characters may be grouped in a user-specified
group size (see the change parameters menu), after which a space character
will be sent.
F. SEND RANDOM PUNCTUATION
--------------------------
Randomly sends Morse punctuation ".,?/:". The characters may be grouped in a
user-specified group size (see the change parameters menu), after which a
space character will be sent.
G. SEND RANDOM PROSIGNS
-----------------------
Randomly sends Morse prosigns "AR", "KN", "AS", "BT", "SK", and "DN".
These characters are sounded without any intervening space between the
letters. They are used as signals to the recipient of a QSO (conversation)
in Morse code.
H. SEND RANDOM COMMON TERMS
---------------------------
Randomly sends term abbreviations used in the Morse code. See the ARRL
book "Tune In the World" for a term list and explanations.
I. SEND RANDOM Q SIGNALS
------------------------
Randomly sends Q signal abbreviations used in the Morse code. See the ARRL
book "Tune In the World" for a Q signal list and explanations.
J. SEND ALL CHARACTERS RANDOMLY
-------------------------------
Randomly sends all Morse characters--letters, digits, punctuation, and
prosigns. This is the hardest random character practice available. The
characters may be grouped in a user-specified group size (see the change
parameters menu), after which a space character will be sent.
K. SEND RANDOM PROBLEM CHARACTERS
---------------------------------
Requests a string of problem characters. Characters from the string are
then randomly sent. Typing only the RETURN key will recall the string most
recently entered, and sound it again.
Prosigns are typed with a reverse slash \ character before them. Thus the AR
prosign is typed as "\AR".
Characters specified more than once will be sent that much more often. Thus,
if "ABCCCD" is specified, C will be sent half the time. The @ character
causes a specified callsign to be sent (see the change parameters menu).
The characters may be grouped in a user-specified group size (see the change
parameters menu), after which a space character will be sent.
L. SEND RANDOM WORDS
--------------------
Words are randomly chosen from a word list and sent. The words may be from a
set of easy words, or from a set of hard words (see the change parameters
menu).
M. SEND RANDOM PHRASES
----------------------
Phrases are randomly chosen from a phrase list and sent.
N. SEND RANDOM CALLSIGNS
------------------------
Random callsign activity of the form N7KXI DE N7HMF is generated and sent.
Some letters and prosigns commonly associated with callsign usage in QSO's
are also randomly added. This code practice is the most difficult text
that will be encountered on an exam, and the most difficult practice.
O. SEND A RANDOM QSO/TEST
-------------------------
Typical QSO text is sent. The text is pseudo-random. Portions of text may or
may not be included. Callsigns, equipment designations, and numbers are
randomly generated. Names and places are chosen from lists.
The QSO text sent by this function does not necessarily describe real
conditions or callsigns. For example, the weather may be hot with a
temperature of 10 degrees. However, if you can master these QSO's, the real
Morse exam will be a snap.
The change parameters menu option I provides for generating tests with 10
questions. The user may copy the QSO text, then answer the questions. The
program will grade the exam, and indicate pass or fail.
P. SEND A FILE
--------------
Requests the name of a file containing text to be sent. The text is then
sent at the specified speed and spacing. The file may reside in the current
directory, or any directory specified in the PATH environment variable. In
addition, the file extension may be used as an environment variable in the
same manner as PATH.
Given
SET PATH = .;\;\EXE and
SET DAT = \DAT
then MORSE.DAT can be found in any of the current directory, root directory,
\EXE directory, or \DAT directory.
Q. SEND YOUR FORTUNE
--------------------
Picks a fortune from a database file FORTUNES.DAT, and sends it. The
fortunes are entertaining and a nice learning aid of intermediate
difficulty. They contain mostly alphabetic characters, with a little
punctuation. The fortune file may be edited with any text editor. The
character which separates one fortune from another is specified in change
parameters menu option U (usually this is a control-L character).
R. MORSE CHART
--------------
Displays the dots and dashes for each practice Morse character. The
characters are listed in ITU phonetic. This chart is intended to be used
only when the user first becomes acquainted with the Morse code. It is
NOT intended to be a learning aid. The user should learn the code by the
rhythm of each character. Counting dots and dashes, or associating similar
characters with each other, will cause grief later.
S. HELP
-------
Explanations of the menu choices and practice methods are given. A help
menu is provided. This menu is identical to the main menu selections.
T. CHANGE PARAMETERS
--------------------
Here the user is allowed several means of tuning the Morse code practice.
The values which may be changed are:
A) Exam class (N)ovice, (G)eneral, (E)xtra, or QSO name
B) QSO/Exam file I is accessed (0) Randomly, (1-n) Sequentially
U) Delimiter character between QSO's in the QSO file
This program supports a virtually unlimited set of user-specified QSO
databases. These databases may be used for VE exams or just random
QSO practice. Four database files are provided with the program. These
are files QSON.DAT, QSOG.DAT, and QSOE.DAT which are intended to be
used for Novice, General, and Extra class exams. QSOI.DAT is intended
to have a class-independent variety of text. Each of the files
may further contain as many QSO's as desired (up to 64K of text).
See QSO FILE QUESTIONS AND RANDOMIZATION below for more information.
Also see option I below for more information.
Each exam class has its own set of speed, tone, and other parameters.
When changing from class to class, each class's parameters are saved.
The screen color (option Q) and capture file (option N) are the same for
all exam classes.
Change parameters menu options have been added to support this
facility. Explanations of the options are:
A. Exam class (N)ovice, (G)eneral, (E)xtra, or QSO name
The user may type up to 5 characters which are allowed in an MSDOS file
name. This character string is prefixed with "QSO" to form the name of
a QSO database file. Files QSOI.DAT, QSON.DAT, QSOG.DAT, and QSOE.DAT
are noted for convenience.
B. QSO/Exam file I is accessed (0) Randomly, (1-n) Sequentially
A random QSO from the file selected in option R may be selected
(0). On the other hand, the QSO's may be read one after the other.
The next QSO is the number given. This number is incremented by one,
after the QSO is read.
U. Delimiter character between QSO's in the QSO file
Normally, each QSO in the file is separated from the next by a line
with a Control-L character. This delimiter character may be changed
with option T. The character is specified in hexadecimal format (two
characters in the range 0-9 and A-F).
C) The speed at which characters are sounded (default 18.0)--
This is the speed at which the dits and dahs inside a character are
sent. The default speed is high enough that the characters sound
natural. By simply reducing the spacing time, the user may much more
easily progress to the 13 wpm general class exam speed.
D) The speed at which spaces between characters are sent (default 3.0)--
This is the speed at which the interval between characters is timed.
The spacing speed is adjusted after setting the character speed, so
that the effective speed is at the desired rate.
E) The effective speed at which characters are sent (default 5.0)--
This is the speed at which the characters are timed (use PARIS to
time). The spacing speed is adjusted after setting the effective speed,
so that the effective speed is at the desired rate.
F) The ratio between the length of a dah and a dit. A user who is just
learning the code may wish to lengthen the dahs (increase the ratio
value). After learning the characters, the ratio should be set to
the standard 3 dits per dah.
G) The tone frequency at which character dits are sounded (default 700)--
This allows the user to adjust the PC's speaker tone to a pleasing
sound. The tone may also be adjusted to match that of code practice
tapes the user has.
H) The tone frequency at which character dahs are sounded (default 700)--
The user may wish to initially set dahs to a lower frequency than dits.
After learning the characters, the two tones should be set the same.
I) Turn off and on the character sound for testing (default on)--
The speaker sound may be turned off for quickly checking operation
of the menus and program functions. When the user first obtains the
program, he/she may wish to turn off the sound and run through the
menus.
J) Test mode (0) practice (1) print, (2) display, (3) generate
The user may practice with random QSO's which are displayed on the
screen as they are sounded. Also, the user may simulate a real Morse
exam with 10 questions on the material sent. Nothing is displayed on
the screen, until the exam is finished. The QSO format and questions
are specified in a file of the name QSOnnnnn.DAT (see option A above).
The test options 1, 2, and 3 are intended to be used by VE examiners.
The VE may put exams into a QSO file (see A above), then administer them
during a VE exam session. The exams may be entirely fixed format or
randomly generated to any degree desired, as specified in the file.
This version of the program does not check the exam for legality.
See QSO FILE QUESTIONS AND RANDOMIZATION below for more information.
The options are
0. Practice. The text is displayed on the screen as it is sounded.
The user may type the characters just sounded (see options L and M
below).
1. Send the QSO, then display 10 questions on the QSO text. The user
must type the answers exactly as the material was sent. Space
characters are ignored. The user's answers are then graded and the
user notified whether there were at least 7 correct answers. The
QSO text is then printed, along with the questions and answers.
There must be a printer connected, or the PRINT program may abort.
2. Same as 1 above, except the QSO and questions are not printed.
3. Generates a fixed format exam, from the current QSO/exam database.
The current QSO/exam database format will usually have some
randomization. The fixed format exam is written to another user
selectable file. It is also optionally printed, along with a second
page with just the questions. An examinee can then write the
answers on that second page.
K) Four similar parameters are controlled by this option. The value
specified consists of an optional letter, optionally followed by a number.
The program is very forgiving about what is specified.
Example: F5
indicates fixed size code groups, 5 characters per group.
F. The size of code groups before space is sent (default 5)--
When using the random letters, digits, and other random character
functions, the user may wish to break up the sending into groups
of a fixed size (such as 5 characters at a time). After the
group is sent, a space will be sent. This approximates the spacing
in normal text, while maintaining randomness in sending characters.
A group size of 0 means there are no spaces.
R. A closer approximation to real Morse word size, is to send
randomly sized character groups. In this case, the size specified
is the maximum group size.
L. This value determines the number of times a character group is
repeated in the LEARN THE CHARACTERS function. Each character is
repeated 5 times per group, then the group is repeated by the above
group count. Thus, with a group size of 3 the letter A is repeated
15 times (3 groups of 5 characters each).
W. Specifies the numbers of times a word is repeated in the LEARN THE
CHARACTERS function. Words are sent after each character has been
sent. The words use that character.
L) User is required to type the character just sent (default off)--
This provides practice when the user does not have paper at hand.
It is preferred that the user write the characters on paper, as this
is how the exam is administered.
The character is sounded, then the user must type the character on
the keyboard. If the user types the wrong character, a gong (beep)
is sounded. The missed character will be re-sent. Further characters
will not be sent until the right character, RETURN, or ESC is typed.
Prosigns are verified by typing the two prosign letters.
Statistics are collected when the user elects to type the character
just sounded. These are printed on the screen whenever the code
speed and sound are printed. The statistics are cumulative for the
entire Morse code program run. However, the statistic counters are
reset whenever the user type function is turned off.
The statistics are
o Number of times the character was correctly typed.
o Number of times the character was incorrectly typed (including
retries).
o Number of times RETURN was typed to bypass the character.
See also J immediately below.
M) Characters sent before catch-up wait on user type (default 0)--
When practicing high rates of speed, the user's response time is
too slow for a send/type, send/type manner of operation (see I
above). This parameter allows for a "send-ahead" buffer. The user
may thus type the previous character while a new character is being
sent.
When the send-ahead buffer is full, sending will stop until the user's
typing catches up. An incorrect character must be retyped correctly or
RETURN typed to skip it, before the program will advance to the next
character in the buffer.
To understand this capability, try the following action sequence
at a two word per minute rate (character rate 18, space rate 1). The
buffer size is two.
1. Character A is sent. A is in the buffer. User waits.
2. Character B is sent. AB are in the buffer. The buffer is now
full, so the program waits. User quickly types AB. Buffer is
now empty.
3. Character C is sent. C is in the buffer. User types C. Buffer
is now empty.
4. Character D is sent. D is in the buffer. User waits.
5. Character E is sent. DE are in the buffer. The buffer is now
full, so the program waits. User types D. Buffer contains E.
6. Character F is sent. EF are in the buffer. The buffer is now
full, so the program waits. User types F9 twice. Buffer is
empty.
This send-ahead buffer can be confusing if the user falls several
characters behind. It is expected that the user can type at least at
the sending rate. The user must also be able to remember at least as
many characters as the computer. If the user loses track of the
characters, the user may type the PAUSE function key F9 twice, to clear
the computer buffer.
See also I immediately above.
N) Change the call sign emitted with @ character (default N7KXI)--
The @ character is reserved for the user's or some other callsign.
This function will change the callsign sent when @ is typed in the
type characters and type character strings main menu functions. Any
string of up to 20 characters may be specified.
The specified string may not contain the @ character. A null
(RETURN-only) response for the string is printed as NULL in this
menu, and contains no characters to send.
O) Specifies the name of a file to write the practice characters to,
at the same time they are sounded. This can be used to capture the
text so it can be printed. The user may tape record the sound of the
practice characters, and use the printed text as a check for accuracy.
The tape and printed text can then be used whenever a computer is not
available.
The default for this option is no file (displayed as NULL). When a
filename is specified, an existing file if any is closed. The new
file is then started at the beginning (any existing data is lost).
The file will capture all practice characters until a new file is
specified, or the user types RETURN only as the new value for this
option. In the latter case, the existing file is closed and no new
file is opened.
P) Allows the user to specify treatment of carriage return (CR) and
line feed characters in a file. The options are
0. Ignore the characters. Do not send them.
1. Send these characters as spaces. Consolidation of consecutive
spaces as one space applies.
2. Send these characters as \BT prosigns. This allows the user to
identify end of lines in the practice material.
Q) Menu prompt characters are audibly sent as Morse (default off)--
Normally menu prompts are not sent as Morse code. A new learner may
wish to sound the prompt characters, to provide even more practice.
R) The screen text colors may be set. The default is white on black.
The user may specify one of eight colors for the text foreground,
optionally followed by one of eight colors for the text background.
The colors are black (X), Blue, Green, Cyan, Red, Magenta, Yellow, and
White. Blinking (A) and intense foreground (I) may also be selected.
Example:
YBI
Yellow foreground, Blue background, and Intense foreground.
Example:
Y
Yellow foreground, Black background.
S) Sets the DOS command hot key. The default key is shift-F2.
Whenever this key is pressed, the screen is cleared and the prompt
DOS: is printed. The user may enter DOS commands. When finished,
type ESC as usual. The program returns to exactly where it was.
The hot key may be changed with option S. The value is a single
keystroke. Whatever key is pressed in response to the "Key or Return:"
prompt, becomes the new DOS hot key. Excluded keys are ESC, BACKSPACE,
DEL, RETURN, LINE FEED, and SPACE.
T) Words sent in the random words function are easy (default) or hard.
The options are
0. A list of common words is used. The user may learn to recognize
some entire words this way.
1. This word list was chosen for difficulty of copy. Also, the words
have a good mixture of the Morse characters. The user is unlikely
to memorize these words. A database file with 20,000 words is used.
V) Send learning text (0) non-stop (1) stop words (2) type words (default).
Three methods of learning are provided in the main menu "LEARN THE
CHARACTERS" function. The options are
0. The characters and words in the sequence are sounded non-stop.
The F9 pause key may be used to pause.
1. A prompt to copy a word is provided before a word is sounded.
Another prompt is made, after the word is sounded.
2. The words are not displayed as they are sounded. The user is
expected to copy the word on paper. The user then is prompted to
type the word.
W) Display random characters in ITU phonetic (default off)--
Experienced radio operators should pronounce call signs and other
important information in ITU phonetic (ALFA for A, BRAVO for B, and
so forth). This parameter helps the novice learn the proper phonetic
word for each letter. When the random letters, digits, and other
random character functions are used, the characters are printed on
the screen in ITU phonetic.
U. EXIT PROGRAM
---------------
This choice clears the screen and exits the Morse code program. The program
will remember your option settings (code speed, etc) for next time (in the
file MORSEENV.DAT).
LITTLE EXTRAS IN THE PROGRAM
----------------------------
----------------------------
This is some extra information for experienced users of the Morse program.
QSO FILE QUESTIONS AND RANDOMIZATION
Questions for VE exams may be specified in the QSO files (see change
parameters options A, B, I, and U above). The question is preceeded by the
two character "/*" sequence on a line in the file. The correct answer is
whatever is on the following line, excluding space characters. The answer
line may include any randomization methods described below. Reference to
database files specified with ~nn below is especially recommended. Other
text not in the answer may be included before the question line, or after
the answer line.
Questions should be carefully worded. If units (feet, degrees, etc) are
desired, that should be stated in the question.
Examples (note the period and comma must not be on the answer line, or
they will be part of the answer):
ANTENNA IS UP
/*How high is the antenna (include units)?
36 FT
,
/*Where is the antenna?
ON MY HOUSE
.
Following is a short description of the syntax used in describing the
semi-random QSO text. The QSO text can look very cryptic, but this syntax
is not intended to be a friendly language or anything like that. It's just
enough to keep the user from memorizing the QSO too fast.
First, we have the terse syntax description. The item on the left is what
is put into the file. The item on the right is what is generated. | means
choose one. Spaces are characters, and should be carefully watched. Spaces
at the end of lines should be especially watched.
n :== a digit
t :== a letter
punct :== a punctuation character
prosign :== \tt (two text characters sent as one character)
t | n | punct | prosign :== send a character
text :== ttt... | nnn... | punct... | prosigns...
#n text # :== send text based on probability n+1
*n text * text * :== pick one of n text segments
% :== pick a digit 0 to 9
^ :== pick a letter A to Z
[n text [ :== save emitted text in string n
]n :== send text from string n
~n :== send text from random line in file FILEnn.DAT.
&n #n text # | *n text * | % | ^ | text :==
this string picked on probability n+1
; anything :== comment line (ignored)
Now the explanation. Morse code consists of letters A-Z, digits 0-9,
some punctuation characters such as period, and some prosign characters.
Prosigns consist of two letters, with no inter-character spacing. Thus
the prosign AR is sent as .-.-. and BT is -...- A prosign in the file
must have a \ prefix character, to tell the code sounding routine not to
insert the inter-character spacing. When any of the above is encountered
in the file, the characters (known collectively as text) are sounded as
Morse code.
The specification of the numbers "n" following the random QSO tokens is as
follows:
o There may be 0, 1, or 2 digits following the token. If there are 0
digits, the value is 0.
o The first non-digit (0 to 9) after the token, ends the numeric
specification.
o The maximum number of digits is 2. Any digits following the second are
part of the Morse text.
o A Morse text digit may not follow 0 or 1 token digits, as there is no
way to determine whether the digit is connected with the token.
(Adding some leading zeros will pad the number to 2 digits.)
#n text # :== send text based on probability nn+1
We need to foil the problem of a user memorizing a practice QSO after
hearing it a few times. One way is to have some text only sent once in a
while. The text is enclosed in pound (#) characters. The first # is
followed by a two-digit probability of 0 to 99 percent. Everything between
the # characters and two nn probability digits not inclusive, is sent
with a probability of nn. Thus with a probability of 25, the text is only
sent a fourth of the time.
*n text * text * :== pick one of n text segments
The second method is to have the program randomly pick one of up to 99
text segments. Thus, one of 99 callsigns or one of 99 names or one of 99
cities can be picked. The user never knows which is coming. The text
segments are bracketed by asterisk (*) characters. The first * is
followed by a single digit, which is a count of segments. That number of
* characters with text between should follow the count.
% :== pick a digit 0 to 9
The third method is to randomly pick digits 0-9 or letters A-Z.
Wherever a percent (%) character appears as text, the % is replaced by a
randomly selected digit. This is useful in callsigns, antenna altitudes,
and anything else with digits in it.
^ :== pick a letter A to Z
Wherever an up arrow (^) character appears as text, the ^ is replace by a
randomly selected letter A-Z. This is especially useful in callsigns.
[n text [ :== save emitted text in string n
]n :== send text from string n
The fourth method is to save some generated text, then send it again later
in the QSO. This was specifically added to retain callsigns generated at
the start of a QSO, and use them again at the end. The same callsign will
usually be sent at both the start and end of a Morse code exam. The text
is saved in a string numbered n, and is started and ended by a left square
bracket ([). A right square bracket followed by the same digit will cause
that string to be sent again.
~n :== send text from a random line in file FILEnn.DAT.
A line in file FILEnn.DAT is selected and sent. Typically, these files will
contain lists of cities, states, and so forth. The files are numbered
FILE00.DAT through FILE99.DAT. Two digits must be specified in the actual
file's name.
Example:
QTH HR IS ~00.
File FILE00.DAT might contain the following lines:
WINNECONNE, WI
PARIS
ZZYZX, CA
Meaningful file names may be assigned with the SET command:
SET FILE00.DAT=CITIES.DAT
All QSO text specifications for ~0 will read from CITIES.DAT.
Meaningful file names may also be assigned from the file FILENAME.DAT.
The first line in this file contains the new name for FILE00.DAT, the second
contains the new name for FILE01.DAT, and so forth.
The sequencing in FILENAME.DAT may be changed by prefixing a 1 or 2 digit
number to the new file name. The number is an index to the file name list.
For example,
03CITIES.DAT
COUNTIES.DAT
will change FILE03.DAT to CITIES.DAT, and FILE04.DAT to COUNTIES.DAT.
All QSO text specifications for ~3 will randomly read from file CITIES.DAT,
and ~4 will read from COUNTIES.DAT.
&n ... :== this string picked on probability nn+1
The fifth method is to send an entire line, based on a probability. This
is quite similar in concept to the #nn method above. An ampersand (&) is
used instead of the #, and there is no ending & delimiter. The line in
the file is sent or not sent, depending on the probability nn from 0 to 99.
Thus with a probability of 25, the line is sent a fourth of the time.
All of the selection tokens above end at the end of a file line. This
occurs whether or not the ending delimiter is specified. Token
sequences may not be nested, but more than one may be in effect at one
time. Examples (enclosed in " to allow spaces in the text):
"*5GEORGE*JIM*DAN*BOB*RANDY* "
Send one of the above names followed by a space.
"[0*4A*K*N*W**5^%^^^*^%^^*^%^*%^^^*%^^*#30/*5%*KT*AG*AA*AE*#[ ]0 K "
Save a callsign in string number 0. The callsign begins with a USA prefix
letter of A K N or W. This is followed by one of five combinations of
letters and a digit:
o Letter, digit, three letters (example, WA7FFM)
o Letter, digit, two letters (example, KE7AU)
o Letter, digit, one letter (example, NV7V)
o Digit, three letters (example, N7KXI)
o Digit, two letters (example, W1AW)
This is followed (probability 30 percent) by slash (/), then an area digit
or two-letter temporary callsign designator. The callsign is sent twice,
followed by K and four extra spaces.
TYPED CHARACTERS
Throughout the Morse code program, the ESC character is used to end the
current function. Usually, the user is prompted for a continuation
character before returning to the main menu. This allows the user to
compare written copy with text on the screen.
The RETURN character is typically used when ending responses to prompts.
It is also used to skip a character when typing keyboard keys in response
to characters which have been sounded.
Lowercase letters entered from the keyboard are automatically translated to
upper case.
SOUNDED CHARACTERS
If there is more than one space, tab, carriage return, or line feed in a
sequence, only one is sounded. The rest are simply printed on the screen.
All of these characters are usually treated as spaces by the sound routine.
Backspace, ESC, and DEL are ignored by the sound routine.
FUNCTION KEY USE DURING PRACTICE
All of the functions except LEARN THE CHARACTERS allow the user to change
the sending speed and tones on the fly. The LEARN THE CHARACTERS Morse
trainer function uses its own key functions. There are 10 function key
labels on the bottom of the screen during actual practice functions. The
numbers for these labels corresond to the function keys F1 to F10. The keys
are used as follows:
F1. CHR + increments the character sending rate by 1 word per minute.
F2. CHR - decrements the character sending rate by 1 word per minute.
The rate will not decrement below 1 word per minute. Use the change
parameters menu to set the rate below one word per minute.
F3. SPC + increments the space sending rate by 1 word per minute. This
is the between-character rate.
F4. SPC - decrements the space sending rate by 1 word per minute.
The rate will not decrement below 1 word per minute. Use the change
parameters menu to set the rate below one word per minute.
F5. DIT + increments the dit tone by 100 Hz.
F6. DIT - decrements the dit tone by 100 Hz. The tone will not decrement
below 100 Hz. Use the change parameters menu to set the tone below
100 Hz.
F7. DAH + increments the dah tone by 100 Hz.
F8. DAH - decrements the dah tone by 100 Hz. The tone will not decrement
below 100 Hz. Use the change parameters menu to set the tone below
100 Hz.
F9. PAUSE temporarily stops the practice, for checking the screen or
whatever. Type the F9 key again to resume practice.
F10. STOP halts practice, the same as typing ESC.
CHANGE PARAMETERS VALUES ON THE COMMAND LINE
The parameter selections described above can also be specified on the command
line which invokes the Morse code program. The specification consists of a
dash, followed by the letter from this menu, immediately followed by the
new value. Thus, "morse -b4" would set the initial spacing speed to 4.
The command line may of course be put into a .BAT file, making invocation
of the program with parameter tuning easier. The command line values
override any values remembered in the MORSEENV.DAT file at the end of the
practice session.
EFFECTIVE CHARACTER RATE DISPLAY
The character speed, spacing speed, and basic timing unit determine the
effective speed at which text is sounded. The program calculates and displays
the effective speed. This may at times be just a shade less than the actual
effective speed (perhaps 49 wpm when 50 wpm is displayed). The default
effective speed is about right for learning the 5 wpm novice exam. The
learning speed should be about 15 percent higher than the exam speed.
The file PARIS may be used as the standard for timing the character speed
and spacing speed. There is an alternate file CODEX which may also be
used for timing. Just use the send a file function and a stopwatch. The
word PARIS should be sent at the per-minute character rate specified.
Thus, at 5 wpm PARIS would be sent exactly 5 times in one minute. Be sure
that CR and LF characters are sent as nothing (change parameters function M).
KEYBOARD INPUT REDIRECTION FROM A FILE
Keyboard input may be redirected from a file. Example:
MORSE <MORSEIN.DAT
The file is read in raw mode, with no processing of the characters.
CR characters are eaten by the program. All other characters are valid
keyboard input. When end of the file is reached, key input comes from
the keyboard.
When the F9 key is used for pause, the next key (usually another F9)
always comes from the keyboard. If a redirected file is active,
key input resumes from the file after the pause.
Regardless of whether stdin is from a file, the keyboard is always
available. A keyboard key press will be returned on the next key
fetch. Input will then resume from the stdin file. This is useful
for user typing after characters are sounded.
The Ctl-Break key is used to terminate input from the stdin file.
All further key input will be from the keyboard. (This is not quite
perfect. A couple more characters may be read from the file, before
it is ended.)
Using the stdin file for practice text (typing strings, for example)
when the user types the sent character, will not work properly.
The keyboard typing requests collide with the characters from the file.
Example MORSEIN.DAT file:
TI0
J0
CABCDEF
Invokes the change parameters function (T). Then requests user typing
(I0) and no send ahead buffer (J0). Requests main menu function C
(type strings), then sends ABCDEF. The newlines in the file are
treated as RETURN characters from the keyboard. Now repeating: this
sequence will not work properly.
PRACTICE MATERIAL IN FILES
Some of the main menu functions will search for a file with practice text.
If the file is found, the text in the file is used, instead of the text in
the program. The contents of the file are checked as described in the
main menu functions above (for spaces, lack of spaces, etc).
The file is found by using the following search order:
1. The file name is found in the current directory.
2. The file extension is used as an environment definition, like PATH.
3. The file is found by using the PATH environment definition.
For expert information, refer to the Lattice C description of the fopene
library function.
Given
SET PATH = .;\;\EXE and
SET DAT = \DAT
then LEARNING.DAT can be found in any of the current directory, root
directory, \EXE directory, or \DAT directory.
There are example files for most of the functions which allow reading from
files. These are mentioned below. The example files' names are different
from that actually used in the function. To use the example file, just
1. Copy or rename the example file to the proper file name. Example:
COPY LEARN1.DAT LEARNING.DAT
2. Define the proper file name as an environment variable. Example:
SET LEARNING.DAT=LEARN1.DAT
Note that there are no spaces around the = character, or in the file names.
There is no reason why the same file cannot be used for more than one
purpose (for example, LEARN1.DAT can be used for learning, words, or
phrases). Just freely copy or use environment variables, as described above.
Following are the main menu functions which allow practice files:
A. LEARN THE CHARACTERS
The order of learning the characters may be specified in the file
LEARNING.DAT.
The characters and words occur one to a line (with no checking for
spaces), in the file. Lines with semicolon (;) in the first column
are comment lines, and are ignored. Lines with * in the first column
are the characters to be learned. These characters are repeated in
groups of five, with each group repeated. See change parameters
option H above for more information on group repeat counts.
Currently four alternate learning sequences have been identified.
These are in the ARRL book Learning the Radioteletype Code. The
sequences are in the files LEARN1.DAT, LEARN2.DAT, LEARN3.DAT, and
LEARN4.DAT. See the commentary in these files for more information.
H. SEND RANDOM COMMON TERMS
The terms may be read from the file TERMFILE.DAT.
The terms occur one to a line (with no checking for spaces), in the file.
Lines with semicolon (;) in the first column are comment lines, and are
ignored.
I. SEND RANDOM Q SIGNALS
The Q signals may be read from the file QSIGFILE.DAT.
The Q signals occur one to a line (with no checking for spaces), in the file.
Lines with semicolon (;) in the first column are comment lines, and are
ignored.
L. SEND RANDOM WORDS
The hard words may be read from the file HARDWORD.DAT; easy words from file
EASYWORD.DAT.
The words occur one to a line (with no spaces allowed), in the file.
Lines with semicolon (;) in the first column are comment lines, and are
ignored.
Any of the files LEARN1.DAT, LEARN2.DAT, LEARN3.DAT, or LEARN4.DAT may be
used as a word file. Phrases (which contain spaces) and Morse trainer
learning lines (which start with *) will not be used, as they are not
identified as words.
M. SEND RANDOM PHRASES
The phrases may be read from the file PHRASEFI.DAT.
The phrases occur one to a line (with at least one space required), in the
file. Lines with semicolon (;) in the first column are comment lines, and are
ignored.
Any of the files LEARN1.DAT, LEARN2.DAT, LEARN3.DAT, or LEARN4.DAT may be
used as a phrase file. Words (which do not contain spaces) and Morse trainer
learning lines (which start with *) will not be used, as they are not
identified as phrases.
O. SEND A RANDOM QSO
The QSO specification may be read from one of the files QSOA.DAT through
QSOZ.DAT. These correspond to the exam class selections A through Z
in the change parameters menu option Q.
The file QSO1.DAT may be used as a QSO text file. This may be edited as
the user desires. Then it must be renamed to one of the files QSOA.DAT
through QSOZ.DAT. To select the file for practice text, set the exam class
to the corresponding letter, in the change parameters menu. For example,
in DOS do
EDIT QSO1.DAT
REN QSO1.DAT QSOI.DAT
Then in the change parameters menu option Q, select I as the exam class.
Q. SEND YOUR FORTUNE
The fortune file FORTFILE.DAT may be accessed by several means. The user may
o Specify the path and name with the FORTUNES environment variable, as in
SET FORTUNES=A:FORTFILE.DAT
o Put the fortune file in the current working directory
o Put the fortune file in the \FORTUNE\ directory.
If FORTUNES is specified, that is the fortune file name. Otherwise the
file name is FORTFILE.DAT. An attempt is made to open the file after
this file name generation. If that fails, \FORTUNE\ is prepended to the
file name. Another attempt is made to open the file.
All of the following will result in successful fortune file accesses:
SET FORTUNES = A:FORTFILE.DAT with FORTFILE.DAT in the current A:
working directory.
No FORTUNES specified, FORTFILE.DAT in current drive and directory
No FORTUNES specified, FORTFILE.DAT in current drive \FORTUNES\ directory
SET FORTUNES = FORTUNE.DAT with FORTUNE.DAT in current drive and
directory.
SET FORTUNES = FORTUNE.DAT with FORTUNE.DAT in current drive \FORTUNES\
directory.